Higher-Order Interpretations and Program Complexity
نویسندگان
چکیده
Polynomial interpretations and their generalizations like quasi-interpretations have been used in the setting of first-order functional languages to design criteria ensuring statically some complexity bounds on programs [8]. This fits in the area of implicit computational complexity, which aims at giving machine-free characterizations of complexity classes. In this paper, we extend this approach to the higher-order setting. For that we consider the notion of simply-typed term rewriting systems [30], we define higher-order polynomial interpretations for them and give a criterion ensuring that a program can be executed in polynomial time. In order to obtain a criterion flexible enough to validate interesting programs using higher-order primitives, we introduce a notion of polynomial quasi-interpretations, coupled with a simple termination criterion based on linear types and path-like orders. 1998 ACM Subject Classification F.3.2 Semantics of Programming Languages
منابع مشابه
Higher-order Interpretations and Program Complexity (Long Version)
Polynomial interpretations and their generalizations like quasi-interpretations have been used in the setting of first-order functional languages to design criteria ensuring statically some complexity bounds on programs [1]. This fits in the area of implicit computational complexity, which aims at giving machine-free characterizations of complexity classes. Here we extend this approach to the h...
متن کاملTheory of higher order interpretations and application to Basic Feasible Functions
Interpretation methods and their restrictions to polynomials have been deeply used to control the termination and complexity of first-order term rewrite systems. This paper extends interpretation methods to a pure higher order functional language. We develop a theory of higher order functions that is well-suited for the complexity analysis of this programming language. The interpretation domain...
متن کاملAnalyzing the Implicit Computational Complexity of object-oriented programs
A sup-interpretation is a tool which provides upper bounds on the size of the values computed by the function symbols of a program. Sup-interpretations have shown their interest to deal with the complexity of first order functional programs. This paper is an attempt to adapt the framework of sup-interpretations to a fragment of object-oriented programs, including loop and while constructs and m...
متن کاملA Characterization of NC by First Order Functional Programs
This paper is part of a research on static analysis in order to predict program resources and belongs to the implicit computational complexity line of research. It presents intrinsic characterizations of the classes of functions, which are computable in NC, that is by a uniform, poly-logarithmic depth and polynomial size family of circuits, using first order functional programs. Our characteriz...
متن کاملModularity of the Quasi-interpretations Synthesis and an Application to Higher-Order Programs
Quasi-interpretations have shown their interest to deal with resource analysis of first order functional programs. There are at least two reasons to study the question of modularity of quasi-interpretations. Firstly, modularity allows to decrease the complexity of the quasi-interpretation search algorithms. Secondly, modularity allows to increase the intentionality of the quasi-interpretation m...
متن کامل